#pragma once

#include <opencv2/opencv.hpp>
#include <Python.h>
#include <iostream>
#include <vector>
#include <numpy/arrayobject.h>


class PythonCaller
{
private:
    PythonCaller();

public:
    void* ProcessImage(cv::Mat &image, double* result);
    static PythonCaller* getInstance();

private:
    static PythonCaller* m_instance;
    PyObject *m_pModule;
    PyObject *m_pProcessImageFunc;
};